home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / gnu / amiga / gnnln920.lha / inline-2.0 / mathieeesingtrans.h < prev    next >
C/C++ Source or Header  |  1992-06-14  |  7KB  |  252 lines

  1. #ifndef _INLINE_MATHIEEESINGTRANS_H
  2. #define _INLINE_MATHIEEESINGTRANS_H
  3.  
  4. #include <sys/cdefs.h>
  5. #include <inline/stubs.h>
  6.  
  7. __BEGIN_DECLS
  8.  
  9. #ifndef BASE_EXT_DECL
  10. #define BASE_EXT_DECL extern struct MathIeeeSingTransBase*  MathIeeeSingTransBase;
  11. #endif
  12. #ifndef BASE_PAR_DECL
  13. #define BASE_PAR_DECL
  14. #define BASE_PAR_DECL0 void
  15. #endif
  16. #ifndef BASE_NAME
  17. #define BASE_NAME MathIeeeSingTransBase
  18. #endif
  19.  
  20. static __inline FLOAT 
  21. IEEESPAcos (BASE_PAR_DECL FLOAT parm)
  22. {
  23.   BASE_EXT_DECL
  24.   register FLOAT  _res  __asm("d0");
  25.   register struct MathIeeeSingTransBase* a6 __asm("a6") = BASE_NAME;
  26.   register FLOAT d0 __asm("d0") = parm;
  27.   __asm __volatile ("jsr a6@(-0x78)"
  28.   : "=r" (_res)
  29.   : "r" (a6), "r" (d0)
  30.   : "a0","a1","d0","d1");
  31.   return _res;
  32. }
  33. static __inline FLOAT 
  34. IEEESPAsin (BASE_PAR_DECL FLOAT parm)
  35. {
  36.   BASE_EXT_DECL
  37.   register FLOAT  _res  __asm("d0");
  38.   register struct MathIeeeSingTransBase* a6 __asm("a6") = BASE_NAME;
  39.   register FLOAT d0 __asm("d0") = parm;
  40.   __asm __volatile ("jsr a6@(-0x72)"
  41.   : "=r" (_res)
  42.   : "r" (a6), "r" (d0)
  43.   : "a0","a1","d0","d1");
  44.   return _res;
  45. }
  46. static __inline FLOAT 
  47. IEEESPAtan (BASE_PAR_DECL FLOAT parm)
  48. {
  49.   BASE_EXT_DECL
  50.   register FLOAT  _res  __asm("d0");
  51.   register struct MathIeeeSingTransBase* a6 __asm("a6") = BASE_NAME;
  52.   register FLOAT d0 __asm("d0") = parm;
  53.   __asm __volatile ("jsr a6@(-0x1e)"
  54.   : "=r" (_res)
  55.   : "r" (a6), "r" (d0)
  56.   : "a0","a1","d0","d1");
  57.   return _res;
  58. }
  59. static __inline FLOAT 
  60. IEEESPCos (BASE_PAR_DECL FLOAT parm)
  61. {
  62.   BASE_EXT_DECL
  63.   register FLOAT  _res  __asm("d0");
  64.   register struct MathIeeeSingTransBase* a6 __asm("a6") = BASE_NAME;
  65.   register FLOAT d0 __asm("d0") = parm;
  66.   __asm __volatile ("jsr a6@(-0x2a)"
  67.   : "=r" (_res)
  68.   : "r" (a6), "r" (d0)
  69.   : "a0","a1","d0","d1");
  70.   return _res;
  71. }
  72. static __inline FLOAT 
  73. IEEESPCosh (BASE_PAR_DECL FLOAT parm)
  74. {
  75.   BASE_EXT_DECL
  76.   register FLOAT  _res  __asm("d0");
  77.   register struct MathIeeeSingTransBase* a6 __asm("a6") = BASE_NAME;
  78.   register FLOAT d0 __asm("d0") = parm;
  79.   __asm __volatile ("jsr a6@(-0x42)"
  80.   : "=r" (_res)
  81.   : "r" (a6), "r" (d0)
  82.   : "a0","a1","d0","d1");
  83.   return _res;
  84. }
  85. static __inline FLOAT 
  86. IEEESPExp (BASE_PAR_DECL FLOAT parm)
  87. {
  88.   BASE_EXT_DECL
  89.   register FLOAT  _res  __asm("d0");
  90.   register struct MathIeeeSingTransBase* a6 __asm("a6") = BASE_NAME;
  91.   register FLOAT d0 __asm("d0") = parm;
  92.   __asm __volatile ("jsr a6@(-0x4e)"
  93.   : "=r" (_res)
  94.   : "r" (a6), "r" (d0)
  95.   : "a0","a1","d0","d1");
  96.   return _res;
  97. }
  98. static __inline FLOAT 
  99. IEEESPFieee (BASE_PAR_DECL FLOAT parm)
  100. {
  101.   BASE_EXT_DECL
  102.   register FLOAT  _res  __asm("d0");
  103.   register struct MathIeeeSingTransBase* a6 __asm("a6") = BASE_NAME;
  104.   register FLOAT d0 __asm("d0") = parm;
  105.   __asm __volatile ("jsr a6@(-0x6c)"
  106.   : "=r" (_res)
  107.   : "r" (a6), "r" (d0)
  108.   : "a0","a1","d0","d1");
  109.   return _res;
  110. }
  111. static __inline FLOAT 
  112. IEEESPLog (BASE_PAR_DECL FLOAT parm)
  113. {
  114.   BASE_EXT_DECL
  115.   register FLOAT  _res  __asm("d0");
  116.   register struct MathIeeeSingTransBase* a6 __asm("a6") = BASE_NAME;
  117.   register FLOAT d0 __asm("d0") = parm;
  118.   __asm __volatile ("jsr a6@(-0x54)"
  119.   : "=r" (_res)
  120.   : "r" (a6), "r" (d0)
  121.   : "a0","a1","d0","d1");
  122.   return _res;
  123. }
  124. static __inline FLOAT 
  125. IEEESPLog10 (BASE_PAR_DECL FLOAT parm)
  126. {
  127.   BASE_EXT_DECL
  128.   register FLOAT  _res  __asm("d0");
  129.   register struct MathIeeeSingTransBase* a6 __asm("a6") = BASE_NAME;
  130.   register FLOAT d0 __asm("d0") = parm;
  131.   __asm __volatile ("jsr a6@(-0x84)"
  132.   : "=r" (_res)
  133.   : "r" (a6), "r" (d0)
  134.   : "a0","a1","d0","d1");
  135.   return _res;
  136. }
  137. static __inline FLOAT 
  138. IEEESPPow (BASE_PAR_DECL FLOAT exp,FLOAT arg)
  139. {
  140.   BASE_EXT_DECL
  141.   register FLOAT  _res  __asm("d0");
  142.   register struct MathIeeeSingTransBase* a6 __asm("a6") = BASE_NAME;
  143.   register FLOAT d1 __asm("d1") = exp;
  144.   register FLOAT d0 __asm("d0") = arg;
  145.   __asm __volatile ("jsr a6@(-0x5a)"
  146.   : "=r" (_res)
  147.   : "r" (a6), "r" (d1), "r" (d0)
  148.   : "a0","a1","d0","d1");
  149.   return _res;
  150. }
  151. static __inline FLOAT 
  152. IEEESPSin (BASE_PAR_DECL FLOAT parm)
  153. {
  154.   BASE_EXT_DECL
  155.   register FLOAT  _res  __asm("d0");
  156.   register struct MathIeeeSingTransBase* a6 __asm("a6") = BASE_NAME;
  157.   register FLOAT d0 __asm("d0") = parm;
  158.   __asm __volatile ("jsr a6@(-0x24)"
  159.   : "=r" (_res)
  160.   : "r" (a6), "r" (d0)
  161.   : "a0","a1","d0","d1");
  162.   return _res;
  163. }
  164. static __inline FLOAT 
  165. IEEESPSincos (BASE_PAR_DECL FLOAT *cosptr,FLOAT parm)
  166. {
  167.   BASE_EXT_DECL
  168.   register FLOAT  _res  __asm("d0");
  169.   register struct MathIeeeSingTransBase* a6 __asm("a6") = BASE_NAME;
  170.   register FLOAT *a0 __asm("a0") = cosptr;
  171.   register FLOAT d0 __asm("d0") = parm;
  172.   __asm __volatile ("jsr a6@(-0x36)"
  173.   : "=r" (_res)
  174.   : "r" (a6), "r" (a0), "r" (d0)
  175.   : "a0","a1","d0","d1");
  176.   *(char *)a0 = *(char *)a0;
  177.   return _res;
  178. }
  179. static __inline FLOAT 
  180. IEEESPSinh (BASE_PAR_DECL FLOAT parm)
  181. {
  182.   BASE_EXT_DECL
  183.   register FLOAT  _res  __asm("d0");
  184.   register struct MathIeeeSingTransBase* a6 __asm("a6") = BASE_NAME;
  185.   register FLOAT d0 __asm("d0") = parm;
  186.   __asm __volatile ("jsr a6@(-0x3c)"
  187.   : "=r" (_res)
  188.   : "r" (a6), "r" (d0)
  189.   : "a0","a1","d0","d1");
  190.   return _res;
  191. }
  192. static __inline FLOAT 
  193. IEEESPSqrt (BASE_PAR_DECL FLOAT parm)
  194. {
  195.   BASE_EXT_DECL
  196.   register FLOAT  _res  __asm("d0");
  197.   register struct MathIeeeSingTransBase* a6 __asm("a6") = BASE_NAME;
  198.   register FLOAT d0 __asm("d0") = parm;
  199.   __asm __volatile ("jsr a6@(-0x60)"
  200.   : "=r" (_res)
  201.   : "r" (a6), "r" (d0)
  202.   : "a0","a1","d0","d1");
  203.   return _res;
  204. }
  205. static __inline FLOAT 
  206. IEEESPTan (BASE_PAR_DECL FLOAT parm)
  207. {
  208.   BASE_EXT_DECL
  209.   register FLOAT  _res  __asm("d0");
  210.   register struct MathIeeeSingTransBase* a6 __asm("a6") = BASE_NAME;
  211.   register FLOAT d0 __asm("d0") = parm;
  212.   __asm __volatile ("jsr a6@(-0x30)"
  213.   : "=r" (_res)
  214.   : "r" (a6), "r" (d0)
  215.   : "a0","a1","d0","d1");
  216.   return _res;
  217. }
  218. static __inline FLOAT 
  219. IEEESPTanh (BASE_PAR_DECL FLOAT parm)
  220. {
  221.   BASE_EXT_DECL
  222.   register FLOAT  _res  __asm("d0");
  223.   register struct MathIeeeSingTransBase* a6 __asm("a6") = BASE_NAME;
  224.   register FLOAT d0 __asm("d0") = parm;
  225.   __asm __volatile ("jsr a6@(-0x48)"
  226.   : "=r" (_res)
  227.   : "r" (a6), "r" (d0)
  228.   : "a0","a1","d0","d1");
  229.   return _res;
  230. }
  231. static __inline FLOAT 
  232. IEEESPTieee (BASE_PAR_DECL FLOAT parm)
  233. {
  234.   BASE_EXT_DECL
  235.   register FLOAT  _res  __asm("d0");
  236.   register struct MathIeeeSingTransBase* a6 __asm("a6") = BASE_NAME;
  237.   register FLOAT d0 __asm("d0") = parm;
  238.   __asm __volatile ("jsr a6@(-0x66)"
  239.   : "=r" (_res)
  240.   : "r" (a6), "r" (d0)
  241.   : "a0","a1","d0","d1");
  242.   return _res;
  243. }
  244. #undef BASE_EXT_DECL
  245. #undef BASE_PAR_DECL
  246. #undef BASE_PAR_DECL0
  247. #undef BASE_NAME
  248.  
  249. __END_DECLS
  250.  
  251. #endif /* _INLINE_MATHIEEESINGTRANS_H */
  252.